package accountManagementNew.config;

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Author：lihonbin
 * @Version：1.0.0
 * @Date:2025/9/24
 * @Description: Swagger配置类
 */
@Configuration
public class SwaggerConfig {

    /**
     *
     * 创建 OpenAPI 对象
     * @return OpenAPI 对象
     */
    @Bean
    public OpenAPI openApi() {
        return new OpenAPI().info(new Info()
                // 标题
                .title("记账程序 API")
                // 版本
                .version("1.0.0")
                // 描述
                .description("记账程序 REST API 文档")
                // 联系人
                .contact(new Contact()
                        .name("lihonbin") // 联系人名称
                        .email("3235201998@qq.com") // 联系人邮箱
                )
        );
    }

    /**
     * 用户 接口分组
     * @return 用户接口分组
     */
    @Bean
    public GroupedOpenApi openApiGroup() {
        return GroupedOpenApi.builder()
                .group("User") // 分组名称
                .pathsToMatch("/user/**")
                .build();
    }
}
